﻿package common.transaction;

//事务控制器
public interface ITransactionController {

	/**
	 * @param service 加入一个实现了事务接口的service对象
	 */
	void addTransaction(IServiceTransaction service);

	/**
	 * 事务开始
	 * @return 事务对象
	 */
	Object begin() ;
	
	/**
	 * 事务提交
	 * @param trans 事务对象
	 */
	void commit(Object trans);

	/**
	 * 事务结束
	 */
	void end() ;

	/**
	 * 事务回滚
	 * @param trans 事务对象
	 */
	void rollback(Object trans) ;

	/**
	 * 设置是否嵌套
	 * @param isNest
	 */
	void setNestTransaction(boolean isNest);
	
	/**
	 * 获取代理的连接 
	 * @return Session or Connection
	 */
	public Object getProxyObj();

}